#ifndef AVALON_SERVICEREQUESTEXCEPTION_HPP
#define AVALON_SERVICEREQUESTEXCEPTION_HPP
#include <stdexcept>
#include "Avalon/Services/Services.hpp"

namespace Avalon {
namespace Services {

  /*! \class ServiceRequestException
   *  \brief Indicates a general failure to service a request.
   *  \author Kamal Mansouri <kranar@hotmail.com>
   */
  class ServiceRequestException : public std::runtime_error,
      public boost::exception {
    public:

      //! Constructs a ServiceRequestException.
      /*!
        \param message A message describing the error.
      */
      ServiceRequestException(const std::string& message);

      virtual ~ServiceRequestException() throw();
  };
}
}

#endif // AVALON_SERVICEREQUESTEXCEPTION_HPP
